#ifndef _BLOCK_POOL_H
#define _BLOCK_POOL_H

#include "octNode.h"
#include "volume3D.h"


class blockPool
{
public:
	blockPool(octNode* root, int);

	void generateBlockPacking(); //create block Pool only contain the highiest resolution
	void generateBlockPool();
	void generateFullResolutionLevelBlockPool();

	bool writeToFile(const char* filename);

private://recursive call
	void blockPacking(octNode* node, int &count);
	void fullResolutionLevelBlockPacking(octNode* node, int &count);

private:
	octNode *_root;
	int _blockPoolDim;
	int _blockSize;
	volume3D *_blockPool;


};



#endif